技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2022 iThome 鐵人賽
DAY
27
1
自我挑戰組
開始系統測試
系列 第
27
篇
Day 27 | Web測試
14th鐵人賽
Pancy
2022-10-12 02:04:39
2039 瀏覽
分享至
(一)、分布式多層結構
(二)、Web的測試方法
Web測試的總體攻略
表現層
對每一個業面進行拼寫、語法、風格等檢查
確保字體在不同瀏覽器中相同
確保每一個連結都指向正確的位置
檢查圖片確保解析度和大小正確
在頁面載入時確定鼠標位置,以確保其在正確的文本框中
確認頁面載入時選擇了默認的按鈕
檢查交互性操作的用戶友好度反饋以及體驗一致性
檢查商業或行業特定術語與風格的使用
業務層
確保有正確收集數據
檢查電話號碼、電子郵件、收件地址……等格式是否正確
檢查字元集是否洽當
確保響應時間、吞吐綠等性能指標得到了滿足
驗證任務正確完成
確保失敗的任務回滾(rollback)正確
測試連通冗餘 - 在N個瀏覽器上登入同樣帳號後,是否可正常操作,或是設計僅允許一個瀏覽器登入(如銀行)
測試網路中斷時程式反應
資料層
確保資料庫操作滿足效能要求
驗證數據儲存適當且正確
驗證可使用當前備份來恢復
測試故障處理和冗餘功能
測試數據加密和安全性
測試後端數據輸入與管理功能的可用性及準確性
Web測試的範圍
功能
性能
介面
兼容性
安全性
DB
文件
Web測試的方法
功能測試 - 主要從連結、表單、Cookies、設計語言、資料庫、文件上傳等方面進行。
連結
即超連結,可指向網頁、同頁面上的不同位置、圖片、電子郵件、文件、應用程式。
常見錯誤:
錯誤連結 - 如URL錯誤、大小寫不完全正確、網域拼寫錯誤等。
空連結 - 點擊時不會指向任何內容
死連結 - 原來正常後來失效的連結
孤立頁面 - 沒有任何連結指向該頁面,只有知道正確的網址才能訪問。
表單
主要關注程式是否能正確的處理使用者提交的訊息,並將訊息正確的反饋給使用者
測試時應注意:
輸入框長度是否有限制
輸入框對於字元類型是否有限制(中、英、數或特殊符號等)
輸入框與輸入內容的型態是否相同,如日期欄位只能匹配不同的日期格式,不能匹配其他格式的數據
各按鈕執行的功能是否正確
Cookies
Cookies能夠讓網站把少量數據儲存到使用者的硬碟或記憶體,或是從使用者的硬體讀取資料的技術
Cookies的用途
自動登入
廣告投放
Cookies的測試包含:
Cookies安全性
最好不要儲存機敏資訊,如真有必要則需進行加密處理
過期時間是否正確
Cookies的變數名稱與值是否正確
Cookies是否必要或缺少
生成的Cookies文件與創建的一致
對於不必要的Cookies可以刪除
Cookies的作用區域是否合理
多個Cookies作用區域之間關係的測試
設計語言測試
版本差異可能會導致客戶端或者伺服器端的異常,如使用哪個版本的HTML等
不同的腳本語言如Java、JavaScript也要驗證
關於設計語言的測試,應注意:
瀏覽器的內核引擎不同,會導致與不同的開發語言的兼容情形不同
不同的設計語言與平台也有不同的兼容性
執行時兼也不同
嵌入其他語言的能力,以利實現其他當前腳本語言無法完成的功能。
資料庫可能升級,需考慮腳本語言對資料庫的完善程度
文件上傳
只能上傳允許的檔案類型
不能上傳腳本或可執行文件
不能單純以後綴文字來判斷檔案類型
瀏覽文件後,可以正常處理刪除文件時出現的異常情形
上傳超大文件時可以正常處理,比如給出提示訊息等
上傳的文件應該提供API查看
上傳的文件不應該直接保存在DB中,而是將文件保存在伺服器端的硬碟,而DB只保存該文件的基本資訊
文件上傳到伺服器端應該重新命名,防止文件名稱衝突
性能測試
連結速度測試 - 響應時間不能太長,一般不超過5秒
負載測試 - 測試系統能承受的最大負載(如最大用戶數、最大業務量等)以及性能表現
壓力測試 - 測試系統在一定壓力下的性能表現,通常錯誤率不能超過5%
介面測試
格式驗證 - 測試Web頁面中一些空間默認的標準定義,如默認值、項目排序等
導覽列測試
導覽列可正確顯示,且顯示的內容正確
不同狀態下(如登入和未登入),導覽列顯示的內容是否正確
導覽列的每項內容連結是否正確
拚寫和語法測試 - 測試頁面內容、菜單、連結、圖片、表格等內容的拼寫和語法
頁面排版測試
頁面標題驗證
頁面元素(文字、視窗、連結)排版驗證
圖形驗證
版本訊息驗證
不同解析度下頁面顯示情況驗證
頁面長度驗證
Tab測試 - Tab順序正確跳轉
安全性測試
基本安全測試
各種登入模式的安全性驗證
用戶權限(如功能限制、資料查看限制)的驗證
Cookies和Session的有效期驗證等特殊機制
敏感數據加密、資料儲存安全性
測試軟體不會因為異常條件下錯誤操作導致不安全狀態
其他安全漏洞的檢查,如WSDigger掃描
跨站點攻擊XSS
SQL注入
認證測試
登入頁面是否存在驗證碼
驗證碼和帳號、密碼是否一次性、同時交給伺服器驗證,如果分開提交則存在漏洞
驗證碼檢驗通過後才進行帳號和密碼的檢驗
觀察驗證碼是否為隨機生成,若存在規律性則說明存在漏洞
驗證碼背景如果為純色則存在漏洞
認證一次後是否立刻失效
不能對認證錯誤提示準確的訊息,如帳號錯誤、密碼錯誤等
合理的鎖定機制
防止認證被繞過,如SQL注入
會話管理(session)測試
登入後身分訊息不再由客戶端提交,而是以伺服器端會話訊息保存的身分訊息為準
URL不能有Session ID訊息
登入後的頁面要有明確的登出按鈕,登出後要清除Session
權限管理測試
橫向越權 - 攻擊者嘗試訪問與他擁有相同權限的用戶的資源
縱向越權 - 低級別的攻擊者嘗試訪問高級別用戶的資源
文件和目錄測試
不存在不需要對外開放的敏感API或API進行的完善的權限控制
禁止獲取敏感的目錄或文件資訊
所有對目錄的訪問都不能顯示出文件列表
禁止訪問和下載文件的備份
不能越權獲取文件 - 如DirBuster掃描
資料庫測試
是為了發現錯誤和缺陷而運行DB的過程
資料庫測試也分成白箱測試和黑箱測試
資料庫黑箱測試:
表結構是否合理
數據結構(類型、長度)是否正確定義,輸入介面與數據結構是否一致
表與表之間的關聯是否正確,主鍵、外來鍵是否合理
索引的創建是否合理
儲存過程是否完整,能否正確接受輸入、輸出正確結果
能否正常新增、更新、刪除數據
能否正確處理併發操作
表級、列級完整性約束條件是否滿足
處理能力、可靠性、可維護性、性能是否滿足要求
留言
追蹤
檢舉
上一篇
Day 26 | 性能測試
下一篇
Day 28 | 手機APP測試(一)
系列文
開始系統測試
共
30
篇
目錄
RSS系列文
訂閱系列文
11
人訂閱
26
Day 26 | 性能測試
27
Day 27 | Web測試
28
Day 28 | 手機APP測試(一)
29
Day 29 | 手機APP測試(二)
30
Day 30 | 自動化測試概述
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22128
篇
完賽人數
595
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
網域切換的技術詢問
請問各位大神,有辦法更改家中的網路對外IP嗎 Orz
請問華碩分享器的系統紀錄這是在說明什麼
Mail server 資料不見
PDF簽章疑問
AD USER 多重登入問題
請問有 PDF 能一張一張翻譯加AI分析的方便工具嗎?
自家網站DNS連線逾時會載入很慢
请教两个问题(文字和手机
MSSQL 滿3個月的算法
熱門回答
請問各位大神,有辦法更改家中的網路對外IP嗎 Orz
JS 是否可以匯入「.xls」
自家網站DNS連線逾時會載入很慢
Exchange 刪除使用者 救回信件
網路查詢指令應用
熱門文章
當了兩個月的轉職工程師是怎樣的感覺?
iPhone升級iOS18之後 Vigor Router Firewall 路由器 防火牆 SmartVPN Client 問題
入門 ASP.NET Web Forms:建立您的第一個 Web 應用程式
Python 字典{ dict }的不可變鍵、setdefault() 和 get()
Python 檔案處理:開啟、讀取、寫入與關閉
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}